This invention relates to a data object management system for managing a collection of data objects of different types stored within a voice processing system.
A voice application such as a fax back service or a voice mail system operates on a voice processing system such as the DirectTalk 6000 system from IBM Corporation (DirectTalk is a trademarks of IBM Corporation). Voice applications can make calls, answer calls, perform calculations, pass information from local or remote databases, communicate information to a caller by speaking it back over the telephone, let callers leave and retrieve messages, transfer calls to other applications, connection callers to a human operator, etc.
To perform these functions interactive voice response (IVR) systems comprise many different application objects which combine to deliver a voice application. These objects typically include IVR programs or scripts, prompts or voice segments and server scripts or programs for communicating with external systems or databases. Large voice applications can contain hundreds of application objects and potentially thousands of voice segments.
The process of writing a voice application includes several method steps: planning, design, implementation and test, package and distribution, maintenance and support. The method steps are taken in turn and considered in the light of the previous step. The grouping and organising of the application objects is an important factor in the process and particularly in the later stages.
Planning involves deciding what the purpose of the voice application is. The data requirements are considered at this stage such as what data is to be used and where and in what form is it stored. In the design stage further data considerations are needed and prototype application objects such as voice segments may be recorded and stored. The implementation and test stage of the voice response service creation involves further consideration of the data. Voice segments are recorded, prompts, state tables, 3270 server scripts, custom server programs are designed and built (the latter two being DirectTalk data objects). Each of these components is stored as a data object and saved in the voice processing system in a folder associated with the application.
Until now, in a system which is supporting multiple applications, there has been no standard way to group the data objects together when implementing, maintaining and distributing. In the implementation stage problems arise when a large number of programmers are involved with the voice application. If there is no agreed grouping of the data objects then additional time is spent in locating the appropriate data object by other members of the implementation team. Time is also spent identifying data objects that are need to be modified when maintaining an application or are need to be exported to another application. Developers or administrators of IVR systems require organised application objects for ease of maintenance and for distribution to other systems.
Components of a voice application may be developed on a system reserved for development and need to be distributed to multiple systems. To do this an application must be exported from the voice processing system. In the DirectTalk system, a single file is created for transporting which is then imported into the host system. The grouping of the application objects is important at this stage so that the appropriate application objects may be selected efficiently and without error.
According to one aspect of the invention there is provided a method of grouping data objects in a application processing system, said data objects having a plurality of data categories, said method comprising: associating a plurality of data objects with a group; arranging the data objects into a sub-groups within said group, each sub-group corresponding to the data category of the data object; creating a representation of the sub-groups.
To assist with the organisation of application objects, a concept of an application is introduced. This can be regarded as a container for application objects which are required to deliver a voice application (or applications).
An application is represented in the IVR Graphical User Interfaces as an icon, which is opened to display a graphical container. The developer or administrator can drag existing objects and drop them into the appropriate application window. Where the developer or administrator is unsure of what application objects are co-requisites, then they may select a set of objects and request that their dependencies (i.e. those objects which are directly or statically invoked or used by the objectxe2x80x94see FIG. 2) are displayed. This data is represented in a similar manner to an application, and the objects may be dragged into the appropriate application window in order to move them. The use of the dependencies greatly simplifies the process of grouping the data within the application and reduces the possibility that an error will be made.
As the first object of a particular type (e.g. IVR script or voice segment) is dropped into an application window, then a folder to retain those objects is automatically created (see FIG. 6) and displayed. These folders can be opened to reveal an iconic or text (details) view of those objects. selecting an object will invoke the appropriate IVR editor for that object.
To aid in the distribution of applications to other systems or for backup purposes, the entire application may be exported. The last modification time of all data objects is stored within each object, which supports a delta export capability which allows all voice objects modified since the last export, or a user specified time, to be automatically selected and exported Without the concept of an application, the developer or administrator would need to manually determine at export time what data should be exported, which is both time-consuming and error-prone.
In the preferred embodiment the group selected is a voice application and said plurality of data objects are the data objects necessary for functioning of the voice application.
In the same embodiment a different group may be selected comprising the dependencies of a particular data object and said plurality of data objects are a collection of all the other data objects that are required by the particular data object. In this case the data object has the capacity to use other data objects. Furthermore the embodiment further comprises the step of identifying all the data objects used by a particular data object and associating said data objects with a group.
In the same embodiment another group may be selected comprising a collection of all the data objects that are intended to be exported to another application processing system. In this case the method may further comprise the step of associating each data object with an export status which indicates whether the data object has changed since the last time it was exported. The export status advantageously contains the time and date when the data object last changed.
In the preferred embodiment each sub-group is advantageously represented by a graphical folder icon corresponding to the data category. It is this icon which may be selected by the user so that the data objects pointed to by that icon may be then viewed and managed, preferably the method further comprises, on selecting of a particular graphical folder icon by a user, creating a representation of the data objects within that sub-group. These icon may then be selected and various management function executed in respect of them such as copying, deleting or updating.
In the preferred embodiment the method further comprises storing the data objects in an object table within the voice processing system. The object table advantageously comprises, for each data object, data category of the data object, application associated with the data object, the name of the data object, the data of the data object and the date and time of the last update of the data object. More advantageously a summary of the details of all the data objects are stored in a catalog table.